package review.Day_0331;

import org.omg.PortableInterceptor.INACTIVE;

import java.util.LinkedList;
import java.util.Queue;

/**
 * @author zxc
 * @date 2023/03/31 22:43
 **/
public class Solution03 {
    // 使用队列来实现栈的根本思想，在于保证主队列中元素顺序和栈中元素顺序一致;
    Queue<Integer> queue;
    public Solution03() {
        queue = new LinkedList<>();
    }

    // 插入操作 ：
    // 即，保证了队列首部永远都是最晚插入的元素;
    public void push(int x) {
        // 1.记录队列的初始总记录数
        int len = queue.size();
        // 2.所要加入的元素添加到队列queue中
        queue.offer(x);
        // 3.遍历队列中新加入元素之前的所有元素 && 将其逐个加入到队列尾部;
        while(len > 0){
            queue.offer(queue.poll());
            len--;
        }
    }
    // 删除操作 ：
    public int pop() {
        return queue.poll();
    }
    // 返回栈顶元素操作 ：
    public int top() {
        return queue.peek();
    }
    // 返回栈是否为空 ：
    public boolean empty() {
        return queue.isEmpty();
    }
}
